Generally, the parity bits associated with words or binary numbers are used to be able to detect whether these words or numbers are not in error after having been manipulated in the processing circuit.
The parity bit of a group of bits is conventionally defined as the result of the combination by EXCLUSIVE OR operations bearing on the set of bits comprising the group. The parity bit thus assumes a value 1 if the number of "1"'s contained in the group is odd. Thus when a single bit or an odd number of bits of the group are in error, the parity bit assumes the complementary value to the value that it should have. The errors can then be detected by simple comparison between the real parity calculated from the group and the expected parity corresponding to the value of the parity bit. Moreover, the words can be formed of a plurality of groups of bits, and one parity bit can be assigned to each group. A word can then be associated with more than one parity bit.
When operations bearing on one or more words are performed, it is suitable for the result of this operation also to be associated with one or more parity bits. This is true in particular for addition operations.
The parity bit or bits of the result of an addition may be calculated directly from the result. Nevertheless, if this is done, the parity bits of the result cannot be obtained except after the result itself, which postpones the moment when the result and its associated parity bits can be used in the course of processing.
Additionally, it is desirable for the parity bits to be capable of being calculated independently of the result per se, because this also provides a check of the accuracy of the addition.
The problem of predicting the parity bits of a sum is addressed in many articles that offer solutions in particular cases. This state of the art is for example illustrated by the IBM Technical Disclosure Bulletin, Vol. 23, No. 12, May 1981, pp. 5498-5502.
Nevertheless, when the words for which the parity bit or bits that one wishes to calculate include a large number of bits, none of the known systems enable rapid calculation in all cases.